#include "H/INT.H"

/*****************************************************
*函 数 名：INT0_INIT(uchar R_INT1S,uchar R_IO)
*函数功能：INT0初始化
*入口参数：uchar R_INT1S  INT1触发方式，0：下降沿  1：下降沿 2：上升沿 3：下降或上升沿
           uchar R_IO     INT1从R_IO口输入，取值为IO口，如：0x10为P10,0x07为P07
*出口参数：void
*****************************************************/
void INT0_INIT(uchar R_INT0S,uchar R_IO)
{
    uchar  i=R_IO&0x0F; 
    INTS   |= R_INT0S;        //INT0触发方式，0：下降沿  1：下降沿 2：上升沿 3：下降或上升沿
    MAP1   = 0;	            
    switch(R_IO&0xF0)         //R_IO设置为外部中断口
    {  
        case 0x00:
        {
            if(i<8)
            {
                MAP1=i;
                P0OE |= (1<<i);      //P0X设输入口
            }
            break; 
        }     
        case 0x10:
        {
            if(i<8)
            {
                MAP1=i+8;
                P1OE |= (1<<i);     //P1X设输入口
            }   
            break; 
        }
        case 0x20:
        {
            if(i<3)
            {
                MAP1=i+0x10;           
                P2OE |= (1<<i);     //P2X设输入口
            }
            break; 
        }
        case 0x30:
        {
            if(i<3)
            {
                MAP1=i+0x18;
                P3OE |= (1<<i);     //P3X设输入口
            }    
            break; 
        }
        default:break; ;
    }
    INTEN  |= EINT0_EN;     //INT0使能
    INT0IE = 1;             //使能INT0中断
//  EA=1;                   //全局中断使能
}







